module.exports = () => {
  return async function (ctx, next) {
    if (ctx.get('Authorization')) {
      // console.log(ctx.get('Authorization'))
      let token = ctx.get('Authorization');
      try {
        ctx.app.jwt.verify(token, ctx.app.config.jwt.secret);
      } catch (error) {
        if (error.name == 'TokenExpiredError') {
          /**401 http错误 未经授权,访问由于凭证无效而被拒绝 */
          ctx.status = 401;
          ctx.body = {
            msg: 'token过期'
          }
          return;
        } else {
          ctx.status = 401;
          ctx.body = {
            msg: 'token失效'
          }
          return;
        }
      }
      await next();
    } else {
      ctx.status = 401;
      ctx.body = {
        msg: '没有检测到token'
      }
      return;
    }
  }
}